/**
 * @file e5_t2_q6.c
 * @date 2022-03-09
 * 
 * @copyright Copyright (c) 2022 cnzyx MIT Licence
 * 
 */

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(int argc, char const *argv[])
{
    //UTF-8
    system("chcp 65001");

    int len=0,key;
    FILE *fp;
    
    char str[100];
    printf("请输要加密的字符串：\n");
    // 危险函数gets()已经弃用，
    // 因为使用fgets()获取字符串有_MaxCount参数限制缓冲区，
    // 但fgets()会读入'\n'
    fgets(str,100,stdin);
    printf("请输入学号尾号作为密钥：");
    scanf("%d",&key);
    if(key==0){
        key==10;
    }
    for(int i=0;str[i]!='\n'&&str[i]!='\0';i++){
        if(str[i]!=' '){
            str[i]+=key;
            if(str[i]>'z'){
                str[i]='a'+str[i]-'z'-1;
            }else if(str[i]>'Z'&&str[i]<'a'){
                str[i]='A'+str[i]-'Z'-1;
            }
        }
    }
    printf("加密成功，密文为：%s\n",str);
    fp=fopen("ciphertext.txt","w");
    fwrite(str,strlen(str),1,fp);
    fclose(fp);
    printf("已保存至ciphertext.txt，即将跳转到记事本查看,关闭记事本后程序结束\n");
    system("notepad ciphertext.txt");

    return 0;
}
